home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
basic
/
pbtool.exe
/
FILEWIPE.BAS
< prev
next >
Wrap
BASIC Source File
|
1991-10-31
|
2KB
|
89 lines
'----------------------------------------------------------
' PROGRAM: FILEWP2.BAS PROGRAMMER: A. KELLETT
' DATE-WRITTEN: 05/23/91
' USING POWER BASIC V2.10A
'
' THIS PROGRAM WIPES A FILE BY OVERWRITING ALL CHARACTERS.
'
' VERSION: 0.60 LAST UPDATED: 10/07/91
'----------------------------------------------------------
WIPE.BYTE$ = CHR$(85) '**** PATTERN IS 01010101 ****
CLS
locate 1,25:print "FILEWIPE -- A. KELLETT"
LOCATE 2,15:PRINT "THIS PROGRAM WIPES A SPECIFIED FILE ON DISK"
LOCATE 3,15:PRINT "AND YOU MAY DELETE THE FILE IF NEEDED."
LOCATE 5,15:INPUT "NAME OF INPUT FILE: ";FILENAME1$
'*** CHECK VALIDITY OF INPUT FILE NAME ***
OPEN FILENAME1$ FOR BINARY AS #1
IF LOF(1) < 1 THEN
PRINT "THE INPUT FILE DOES NOT EXISTS."
CLOSE #1
KILL FILENAME1$
DELAY 2.5
LOCATE 22,1
END
END IF
FILE1EOF& = LOF(1)
CLOSE #1
LOCATE 10,10:PRINT "NOW OVERWRITING FILE ";FILENAME1$
LOCATE 12,10:PRINT USING "BYTES IN FILE ###,###";FILE1EOF&
LOCATE 13,10:PRINT "WORKING ON"
IF FILE1EOF& > 1000 THEN
GOSUB BIG
ELSE
GOSUB LITTLE
END IF
LOCATE 15,10:INPUT "DELETE THE FILE? [Y/N] ";ANSWER$
IF UCASE$(ANSWER$) = "Y" THEN
KILL FILENAME1$
LOCATE 16,10:PRINT "FILE DELETED."
ELSE
LOCATE 16,10:PRINT "FILE OVERWRITTEN BUT NOT DELETED."
END IF
END
'
'----------------------------------------------------------
LITTLE:
OPEN FILENAME1$ FOR BINARY AS #1
FOR RECPOSITION& = 0 TO (FILE1EOF& - 1)
SEEK 1, RECPOSITION&
PUT$ 1, WIPE.BYTE$
LOCATE 13,20:PRINT USING " ###,###";RECPOSITION& + 1
NEXT RECPOSITION&
CLOSE #1
RETURN
'
'----------------------------------------------------------
BIG:
RECPOSITION& = 0
OPEN FILENAME1$ FOR BINARY AS #1
WIPE.STRING$ = STRING$(1000,WIPE.BYTE$)
X% = 0
DO WHILE X% <> 1
SEEK 1, RECPOSITION&
PUT$ 1, WIPE.STRING$
LOCATE 13,20:PRINT USING "#,###,###";RECPOSITION&+ 1
RECPOSITION& = LOC(1)
IF RECPOSITION& => FILE1EOF& THEN
X% = 1
ELSE
IF RECPOSITION& > (FILE1EOF& - 1000) THEN
WIPE.STRING$ = STRING$((FILE1EOF& - RECPOSITION&),WIPE.BYTE$)
SEEK 1, RECPOSITION&
PUT$ 1, WIPE.STRING$
X% = 1
END IF
END IF
WEND
CLOSE #1
RETURN